package com.du.proxy;

import org.junit.jupiter.api.Test;

import java.lang.reflect.Proxy;

/**
 * @author : DuJiabao
 * @Date : 2021/2/4 9:59
 * @Project : spring
 * @File : null.java
 * @Desc :
 */
public class Demo {
    /**
     * 通过反射的方式，实现动态代理
     */
    @Test
    public void test() {
//        实现类
        UserImpl userImpl = new UserImpl();
//        将实现类，放进代理类中处理
        User user = (User) Proxy.newProxyInstance(Demo.class.getClassLoader(), new Class[]{User.class}, new UserProxy(userImpl));
//        用调用代理类来调用实现类的方法
        user.method();
    }
}
